Author: Andreas Beckmann <anbe@debian.org>
Description: sanitize bison usage
 use
   %define api.prefix {...}
 instead of crude
   sed -e 's/[yY][yY]/.../g'

 Thanks to Akim Demaille for the hint! (#960608)

--- a/codegen/gram.y
+++ b/codegen/gram.y
@@ -17,6 +17,8 @@
  * with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
+%define api.prefix {gram_}
+
 %{
 
 #include <libexplain/ac/stdio.h>
--- a/libexplain/acl_grammar.y
+++ b/libexplain/acl_grammar.y
@@ -17,6 +17,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
+%define api.prefix {acl_grammar_}
+
 %{
 
 #include <libexplain/ac/ctype.h>
--- a/libexplain/parse_bits.y
+++ b/libexplain/parse_bits.y
@@ -17,6 +17,8 @@
  along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
+%define api.prefix {parse_bits_}
+
 %{
 
 #include <libexplain/ac/ctype.h>
--- a/libexplain/printf_format.y
+++ b/libexplain/printf_format.y
@@ -17,6 +17,8 @@
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 
+%define api.prefix {printf_format_}
+
 %{
 
 #include <libexplain/ac/assert.h>
--- a/Makefile.in
+++ b/Makefile.in
@@ -357,9 +357,9 @@ codegen/get_user_name.$(OBJEXT) codegen/
 
 codegen/gram.yacc.c codegen/gram.yacc.h: codegen/gram.y
 	$(YACC) -d $(YFLAGS) codegen/gram.y
-	sed -e 's/[yY][yY]/gram_/g' -e '/<stdio.h>/d' -e '/<stdlib.h>/d' -e \
+	sed -e '/<stdio.h>/d' -e '/<stdlib.h>/d' -e \
 		'/<stddef.h>/d' y.tab.c > codegen/gram.yacc.c
-	sed -e 's/[yY][yY]/gram_/g' -e 's/Y_TAB_H/codegen_gram_YACC_H/g' \
+	sed -e '' \
 		y.tab.h > codegen/gram.yacc.h
 	test -f y.output && mv y.output codegen/gram.output || true
 	rm -f y.tab.c y.tab.h y.output || true
@@ -4016,11 +4016,10 @@ libexplain/acl_get_file_or_die.$(OBJEXT)
 libexplain/acl_grammar.yacc.c libexplain/acl_grammar.yacc.h: \
 		libexplain/acl_grammar.y
 	$(YACC) -d $(YFLAGS) libexplain/acl_grammar.y
-	sed -e 's/[yY][yY]/acl_grammar_/g' -e '/<stdio.h>/d' -e \
+	sed -e '/<stdio.h>/d' -e \
 		'/<stdlib.h>/d' -e '/<stddef.h>/d' y.tab.c > \
 		libexplain/acl_grammar.yacc.c
-	sed -e 's/[yY][yY]/acl_grammar_/g' -e \
-		's/Y_TAB_H/libexplain_acl_grammar_YACC_H/g' y.tab.h > \
+	sed -e '' y.tab.h > \
 		libexplain/acl_grammar.yacc.h
 	test -f y.output && mv y.output libexplain/acl_grammar.output || true
 	rm -f y.tab.c y.tab.h y.output || true
@@ -31058,10 +31057,9 @@ libexplain/output/warning.$(OBJEXT) libe
 libexplain/parse_bits.yacc.c libexplain/parse_bits.yacc.h: \
 		libexplain/parse_bits.y
 	$(YACC) -d $(YFLAGS) libexplain/parse_bits.y
-	sed -e 's/[yY][yY]/parse_bits_/g' -e '/<stdio.h>/d' -e '/<stdlib.h>/d' \
+	sed -e '/<stdio.h>/d' -e '/<stdlib.h>/d' \
 		-e '/<stddef.h>/d' y.tab.c > libexplain/parse_bits.yacc.c
-	sed -e 's/[yY][yY]/parse_bits_/g' -e \
-		's/Y_TAB_H/libexplain_parse_bits_YACC_H/g' y.tab.h > \
+	sed -e '' y.tab.h > \
 		libexplain/parse_bits.yacc.h
 	test -f y.output && mv y.output libexplain/parse_bits.output || true
 	rm -f y.tab.c y.tab.h y.output || true
@@ -31418,11 +31416,10 @@ $(includedir)/libexplain/printf.h: .mkdi
 libexplain/printf_format.yacc.c libexplain/printf_format.yacc.h: \
 		libexplain/printf_format.y
 	$(YACC) -d $(YFLAGS) libexplain/printf_format.y
-	sed -e 's/[yY][yY]/printf_format_/g' -e '/<stdio.h>/d' -e \
+	sed -e '/<stdio.h>/d' -e \
 		'/<stdlib.h>/d' -e '/<stddef.h>/d' y.tab.c > \
 		libexplain/printf_format.yacc.c
-	sed -e 's/[yY][yY]/printf_format_/g' -e \
-		's/Y_TAB_H/libexplain_printf_format_YACC_H/g' y.tab.h > \
+	sed -e '' y.tab.h > \
 		libexplain/printf_format.yacc.h
 	test -f y.output && mv y.output libexplain/printf_format.output || true
 	rm -f y.tab.c y.tab.h y.output || true
